home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / mb39002.lsp < prev    next >
Text File  |  1998-03-15  |  8KB  |  192 lines

  1. ;=============390.02 WELLENKLEMMPROFIL + WELLE 5/6
  2.  
  3. (EAITDBL "0039002")
  4. (EAITmsg "mb_mld10" "\n" "002" nil) (princ "........") (princ EAITnrx) (princ "\n")
  5. (princ)
  6.  
  7. (defun C:39002S1 (/ P0 P1 P2 P3 P4 P5 P6 P7 P8 E1 E2 E3 E4 E5 E6 E7 Li
  8.                    Lix Wi KW D4 D5 D7 BName n Ben2 W1 W2)
  9.    (EAITDBL "0039002")
  10.    (princ (strcat "\n\n" EAITbez1))
  11.    (EAITvari)
  12.    (if (not EAITlpr)(setq EAITlpr 0.0))
  13.    (EAITvars)
  14.    (EAITbpt nil nil nil)
  15.    (setq P1 (getpoint))
  16.    (if (= P1 nil)(setq P1 (EAITrpt)))
  17.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  18.    (initget (+ 2 4))
  19.    (setq Li (getdist " "))
  20.    (if (= Li nil)(setq Li EAITlpr))
  21.    (setq Li (EAITck Li))
  22.    (setq Li (atof (rtos (abs Li) 2 1)))
  23.    (princ "\n  -> ")(princ Li)
  24.  
  25.    (setvar "OSMODE" 0)
  26.    (setvar "ORTHOMODE" 0)
  27.    (initget 1)
  28.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  29.    (setq Wi (getangle P1))
  30.    (setq Wi (* 180.0 (/ Wi Pi)))
  31.    (cond 
  32.           ((and (>= Wi  0)  (< Wi  45)) (setq D4  4.0 D7  7.0 D5  5.0 KW   0 W1 45 W2 20) )
  33.           ((and (>= Wi 45)  (< Wi  90)) (setq D4 -4.0 D7 -7.0 D5 -5.0 KW  90 W1 45 W2 70) )
  34.           ((and (>= Wi 90)  (< Wi 135)) (setq D4  4.0 D7  7.0 D5  5.0 KW  90 W1 135 W2 110) )
  35.           ((and (>= Wi 135) (< Wi 180)) (setq D4 -4.0 D7 -7.0 D5 -5.0 KW 180 W1 135 W2 160) )
  36.           ((and (>= Wi 180) (< Wi 225)) (setq D4  4.0 D7  7.0 D5  5.0 KW 180 W1 225 W2 200) )
  37.           ((and (>= Wi 225) (< Wi 270)) (setq D4 -4.0 D7 -7.0 D5 -5.0 KW 270 W1 225 W2 250) )
  38.           ((and (>= Wi 270) (< Wi 315)) (setq D4  4.0 D7  7.0 D5  5.0 KW 270 W1 315 W2 290) )
  39.           (T                            (setq D4 -4.0 D7 -7.0 D5 -5.0 KW   0 W1 315 W2 340) )
  40.    )
  41.    (setq P2 (polar P1 (EAITgib KW) Li)
  42.          P3 (polar P2 (EAITgib (+ KW 90)) D7)
  43.          P4 (polar P1 (EAITgib (+ KW 90)) D7)
  44.          P5 (polar P1 (EAITgib (+ KW 90)) D5)
  45.          P6 (polar P2 (EAITgib (+ KW 90)) D5)
  46.          P7 (polar (polar P2 (EAITgib (+ KW 90)) D4) (EAITgib KW) 5)
  47.          P8 (polar P7 (EAITgib (+ KW 180)) (+ Li 10) )
  48.    )
  49.    (command EAITlay EAITlse "EAIT50" "")
  50.    (command EAITlin P1 P2 "")
  51.    (setq E1 (entlast))
  52.    (command EAITlin P2 P3 P4 P1 "")
  53.    (command EAITlin P5 P6 "")
  54.    (command EAITlay EAITlse "EAITstpg" "")
  55.    (command EAITlin P7 P8 "")
  56.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3)
  57.          E5 (entnext E4) E6 (entnext E5) )
  58.  
  59.    (setq BName (EAITbnr))
  60.    (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 "")
  61.    (command EAITege BName P1 "" "" "")
  62.  
  63.    (setq Li (rtos (abs Li) 2 1))
  64.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W1) 5) "" "" ""
  65.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  66.    )
  67.    (EAITDBL "0035601")
  68.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W2) 17) "" "" ""
  69.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  70.    )
  71.  
  72.    (EAITvarz2)
  73.    (princ)
  74. );defun 39002S1
  75.  
  76.  
  77.  
  78.  
  79.  
  80. (defun C:39002D1 ( / P0 P01 P1 P2 P3 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 PS0 PS1
  81.                      E1 E2 E3 E4 E5 E6 E7 Li Wi BName NL)
  82.    (EAITDBL "0039002")
  83.    (princ (strcat "\n\n" EAITbez1))
  84.    (EAITvari)
  85.    (if (not EAITlpr)(setq EAITlpr 0.0))
  86.    (EAITvars)
  87.    (setvar "ORTHOMODE" 0)
  88.    (setvar "OSMODE" 32)
  89.    (EAITmsg "mb_mld12" "\n" "015" nil)  ;1. Nutlinie
  90.    (setq NL (entsel " "))
  91.    (setq P01(osnap (cadr NL) EAITofnaec))
  92.    (setvar "APERTURE" 4)
  93.    (setvar "OSMODE" 0)
  94.    (setq P9 (osnap P01 EAITofend)
  95.          P10 (osnap P01 EAITofmit)
  96.          Wi1 (angle P9 P10)
  97.    )
  98.    
  99.    (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "001")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  100.    (setq P1 (getpoint P01))
  101.    (if (= P1 nil)(setq P1 (EAITrpt)))
  102.    (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  103.    (while (NOT(equal (distance P1 PS1) 5 0.0000000001))
  104.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  105.      (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "003")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  106.      (setq P1 (getpoint P01))
  107.      (if (= P1 nil)(setq P1 (EAITrpt)))
  108.      (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  109.    )
  110.  
  111.    (setvar "OSMODE" 512)
  112.    (initget (+ 1 2 4))
  113.    (EAITmsg "mb_mld14" "\n\n" "004" " :<")(princ EAITofnaec)(princ ">")  ;Richtung auf Profil (Punkt auf zweiter Nutlinie)
  114.    (setq P0 (getpoint P1))
  115.    (setq Wi (angle P1 P0))
  116.    (while (AND (NOT(equal Wi Wi1 0.000000001))(NOT (equal Wi (+ Wi1 Pi) 0.000000001)))
  117.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  118.      (initget (+ 1 2 4))
  119.      (EAITmsg "mb_mld14" "\n\n" "005" " :<")(princ EAITofnaec)(princ ">")  ;Neue Richtung auf Profil (Punkt auf zweiter Nutlinie)
  120.      (setq P0 (getpoint P1))
  121.      (setq Wi (angle P1 P0))
  122.    )    
  123.  
  124.    (setvar "OSMODE" 9)
  125.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  126.    (initget (+ 2 4))
  127.    (setq Li (getdist " "))
  128.    (if (= Li nil)(setq Li EAITlpr))
  129.    (setq Li (EAITck Li))
  130.    (setq Li (atof (rtos (abs Li) 2 1)))
  131.    (princ "\n  -> ")(princ Li)
  132.  
  133.    (setvar "OSMODE" 0)
  134.    (setq PS1 (inters P1 (polar P1 (+ Wi(/ Pi 2))10) P9 P10 nil)
  135.         P2 (mapcar '/ (mapcar '+ P1 PS1) '(2 2 2))
  136.         P3 (polar P2 Wi Li)
  137.          P11 (polar P2  (- Wi (EAITgib 90)) 4.5)
  138.          P12 (polar P11 Wi Li)
  139.          P13 (polar P12 (+ Wi (EAITgib 90)) 9)
  140.          P14 (polar P11 (+ Wi (EAITgib 90)) 9)
  141.          P15 (polar P11 (+ Wi (EAITgib 90)) 1.5)
  142.          P16 (polar P12 (+ Wi (EAITgib 90)) 1.5)
  143.          P17 (polar P15 (+ Wi (EAITgib 90)) 6)
  144.          P18 (polar P16 (+ Wi (EAITgib 90)) 6)
  145.          P19 (polar P2  (+ Wi (EAITgib 180)) 5)
  146.          P20 (polar P19 Wi (+ Li 10))
  147.    )
  148.    (if (/= (cdr (assoc 2 (entget (car NL)))) nil) (command EAITurs NL))
  149.    (command EAITzom EAITzomi (mapcar '/ (mapcar '+ P2 P3) '(2 2 2)) P12 P14)
  150.    (if (/= (ssget (polar P2 (+ Wi (/ Pi 4))(/ 2.5 (cos (/ Pi 4))))) nil)
  151.          (command EAITbru (polar P2 (+ Wi (/ Pi 4))(/ 2.5 (cos (/ Pi 4)))) EAITbre
  152.                           (polar P2 (+ Wi (/ Pi 2)) 2.5) (polar P3 (+ Wi (/ Pi 2)) 2.5)
  153.          )
  154.    )
  155.    (if (/= (ssget (polar P2 (- Wi (/ Pi 4))(/ 2.5 (cos (/ Pi 4))))) nil)
  156.          (command EAITbru (polar P2 (- Wi (/ Pi 4))(/ 2.5 (cos (/ Pi 4)))) EAITbre
  157.                           (polar P2 (- Wi (/ Pi 2)) 2.5) (polar P3 (- Wi (/ Pi 2)) 2.5)
  158.          )
  159.    )
  160.    (command EAITzom EAITzov)
  161.    (command EAITlay EAITlse "EAIT50" "")
  162.    (command EAITlin P11 P12 "" )
  163.    (setq E1 (entlast))
  164.    (command EAITlin P12 P13 P14 P11 "")
  165.    (command EAITlin P15 P16 "")
  166.    (command EAITlin P17 P18 "")
  167.    (command EAITlay EAITlse "EAITstpg" "")
  168.    (command EAITlin P19 P20 "")
  169.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3)
  170.          E5 (entnext E4) E6 (entnext E5) E7 (entnext E6))
  171.  
  172.    (setq BName (EAITbnr))
  173.    (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 E7 "")
  174.    (command EAITege BName P1 "" "" "")
  175.  
  176.    (setq Li (rtos (abs Li) 2 1))
  177.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 9)) 5) "" "" ""
  178.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  179.    )
  180.    (EAITDBL "0035601")
  181.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 25)) 12.5) "" "" ""
  182.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  183.    )
  184.  
  185.    (EAITvarz2)
  186.    (princ)
  187. );defun 39002D1
  188.  
  189.  
  190.  
  191. (princ)
  192.